package com.chen.back.service;

import com.chen.back.entity.Course;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author chen
 * @since 2022-02-24
 */
public interface CourseService extends IService<Course> {
    //得到的所有可选课程进行分页
    Map<String, Object> getThisCourses(Integer userId, Integer pageNum, Integer pageSize);
    //选课是否起冲突
    boolean isContradict(Integer userId, Integer courseId);
    //不冲突，就要选择选择添加课程
    int insertChooseCourse(Integer userId, Integer courseId);
//选课的结果
    Map<String, Object> getChooseCourseResult(Integer userId, Integer pageNum, Integer pageSize);
//在选课结果中进行退课操作
    int deleteChooseCourse(Integer userId, Integer courseId);
//根据加入学期的参数进行得到所有的科目
    Map<String, Object> getHistoryCourses(Integer userId, Integer term, Integer pageNum, Integer pageSize);

    //得到这学期的成绩
    Map<String, Object> getThisGrade(Integer userId, Integer pageNum, Integer pageSize);

//    查看历史成绩
Map<String, Object> getHistoryGrade(Integer userId, Integer term, Integer pageNum, Integer pageSize);

//教师查看本学期的开课科目
Map<String, Object> getThisStartCourses(Integer userId, Integer pageNum, Integer pageSize);
//教师查看历史课程
Map<String, Object> getHistoryStartCourses(Integer userId, Integer term, Integer pageNum, Integer pageSize);
//教务处学院id中所有开课
Map<String, Object> getALLStartCourses(Integer schoolId, Integer term, Integer pageNum, Integer pageSize);
//放开选课
void openChooseCourse();
//关闭选课
void closeChooseCourse();


}
